#define _CRT_SECURE_NO_WARNINGS

//#include <iostream>
//using namespace std;
//
//int main()
//{
//    int n = 0;
//    cin >> n;
//    int arr[7];
//    for (int i = 0; i < n; i++)
//    {
//        cin >> arr[i];
//    }
//    arr[n] = 0;
//    int i = 0;
//    int count = 0;
//    int flag = 0;
//    while (i < n)
//    {
//        if (arr[i] < arr[i + 1])
//        {
//            if (flag != 1)
//            {
//                flag = 1;
//                count++;
//            }
//            ++i;
//        }
//        else if (arr[i] == arr[i + 1])
//        {
//            ++i;
//        }
//        else
//        {
//            if (flag != -1)
//            {
//                flag = -1;
//                count++;
//            }
//            ++i;
//        }
//    }
//    cout << count << endl;
//    return 0;
//}


#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main()
{
    string s1;
    getline(cin, s1);
    auto start = s1.begin();
    auto end = start;
    for (int i = 0; i < s1.size(); i++)
    {
        if (*(end + i) == ' ')
        {
            reverse(start, end + i);
            start = end + i + 1;
        }
    }
    reverse(start, s1.end());
    reverse(s1.begin(), s1.end());
    cout << s1.c_str() << endl;
    return 0;
}